// 自定义的加载进度条组件
import 'package:flutter/material.dart';

class LoadingContainer extends StatelessWidget {
  final Widget child; //这个child表示loading状态结束后要展示（或承载）的内容
  final bool isLoading; //判断显示进度条呢还是显示具体的内容呢
  final bool cover; //这个组件是否放在这个child之上

  const LoadingContainer(
      {Key key,
      @required this.isLoading,
      this.cover = false,
      @required this.child})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return !cover
        ? !isLoading ? child : _loadingView
        : Stack(
            children: <Widget>[child, isLoading ? _loadingView : null],
          );
  }

  Widget get _loadingView {
    return Center(
      child: CircularProgressIndicator(),
    );
  }
}
